package negocio;

import java.util.Vector;

import vistas.DireccionVO;
import vistas.MateriaVO;
import vistas.ProfesorVO;

public class Profesor {
	private int numeroLegajo;
	private String nombre;
	private Direccion direccion;
	private Vector<Materia> materias;
	
	// constructor vacio
	public Profesor() {
		super();
	}
	
	// constructor con todos los parametros
	public Profesor(int numeroLegajo, String nombre, Direccion direccion) {
		super();
		this.numeroLegajo = numeroLegajo;
		this.nombre = nombre;
		this.direccion = direccion;
		this.materias = new Vector<Materia>();
	}
	
	public void agregarMateria(Materia entradaMateria){
		materias.addElement(entradaMateria);
	}
	
	public boolean eliminarMateria(Materia entradaMateria){
		return materias.remove(entradaMateria);
	}
	
	//devuelve verdadero o falso si el legajo pasado coincide con el del profesor
	public boolean esTuLegajo(int numLegajo){
		return (this.numeroLegajo == numLegajo);
	}
	
	public ProfesorVO getProfesorVO(){
		DireccionVO salidaDireccionVO = this.direccion.getDireccionVO();
		Vector<MateriaVO> salidaMateriasVO = new Vector<MateriaVO>();
		for (int i=0; i<this.materias.size(); i++){
			salidaMateriasVO.addElement(materias.get(i).getMateriaVO());
		}
		ProfesorVO salidaProfesorVO = new ProfesorVO(this.numeroLegajo,
													 this.nombre,
													 salidaDireccionVO,
													 salidaMateriasVO);
		return salidaProfesorVO;
	}
}
